<?php
/**
 * 站点管理员管理
 */
namespace logic\site;
use \logic\user\IUser;
class Admin implements IUser{
    
    
    protected $userId;
    protected $info;    // 用户信息
    protected $siteId;  // 当前管理员操作的站点ID
    public function __construct($adminId){
        $this->userId = $adminId;
    }
    
    /**
     * 读取用户信息
     */
    public function getInfo($reload = false){
        if( !$this->info || $reload ){
            $info = cache('logic_sadmin_u'.$this->userId);
            if( !$info || $reload ){
                $info = D('Admin','site')->find(['adminid'=>$this->userId]);
                unset($info['password']);
                unset($info['passsalt']);
                cache('logic_sadmin_u'.$this->userId,serialize($info),86400);
            }else{
                $info = unserialize($info);
            }
            $this->info = $info;
        }
        return $this->info;
    }
    
    /**
     * 获取当前管理员管理的站点ID
     */
    public function getSiteId(){
        return $this->siteId;
    }
    
    /**
     * 设置当前管理员管理的站点ID
     */
    public function setSiteId($siteId){
        $this->siteId = $siteId;
    }
    
    /**
     * 读取超级管理员信息
     */
    public function getRoleInfo(){
        $info = $this->getInfo();
        return array(
            'userid'        => $info['adminid'],
            'roleid'        => $info['roleid'],
            'supperadmin'   => $info['type']==1?true:false, // 角色控制的超级管理员
            'isroot'        => false,
        );
    }
    
    
    
}